AWS HealthOmics のシーケンスストアからファイルを取り出す方法

AWS HealthOmics のシーケンスストアからファイルを取り出す方法

ファイルの取り出しはマネージメントコンソール非対応です。
Clock Icon2023.10.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

AWS HealthOmics の HealthOmics Storage のシーケンスストアからファイルを取り出す(エクスポート)手順の備忘録です。マネージメントコンソールからのファイル取り出しには対応しておらず、AWS CLI または SDK を利用することになります。AWS CLI でファイルを取り出す機会があったのでまとめました。

Inventory icons created by Freepik - Flaticon

シーケンスストアからファイルの取り出し手順

HealthOmics Storage にファイルを保存する方法はブログを参照ください。本ブログはファイルの取り出し(エクスポート)を行います。

エクスポートジョブ実行

エクスポートジョブの実行コマンドしないとファイルを取り出せないのです。必要な引数が結構あり、事前に ID 確認が必要です。

  • --role-arn: ご自身の環境の HealthOmics Storage 用の IAM ロールに置き換えてください
  • --destination: 出力先の S3 バケットのパス(URI)を指定します
aws omics start-read-set-export-job \
    --sequence-store-id [シーケンスストアの ID] \
    --destination s3://[S3 バケット名]/ \
    --role-arn arn:aws:iam::123456789012:role/OmicsStorageServiceRole \
    --sources readSetId=[リードセットの ID]

シーケンスストアの ID、リードセットの ID はマネージメントコンソールから確認しました。

コマンド実行例

aws omics start-read-set-export-job \
    --sequence-store-id 7280775986 \
    --destination s3://omics-work/ \
    --role-arn arn:aws:iam::123456789012:role/OmicsStorageServiceRole \
    --sources readSetId=3692807290
{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "SUBMITTED",
    "creationTime": "2023-10-17T06:40:11.291000+00:00"
}

ジョブの実行状況確認

エクスポートジョブの進捗確認も AWS CLI から行う必要があります。エクスポートジョブ実行の実行結果に表示されたid:の値が引数として必要です。

aws omics get-read-set-export-job --id [実行結果からジョブ ID を確認] --sequence-store-id [シーケンスストアの ID]

コマンド実行例

aws omics get-read-set-export-job --id 9408553428 --sequence-store-id 7280775986

エクスポートジョブ実行直後に確認すると実行中(IN_PROGRESS)でした。

{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "IN_PROGRESS",
    "statusMessage": "The job is currently in progress.",
    "creationTime": "2023-10-17T06:40:11.291000+00:00",
    "readSets": [
        {
            "id": "3692807290",
            "status": "IN_PROGRESS",
            "statusMessage": "The source job is currently in progress."
        }
    ]
}

少し待ってから改めて確認コマンド実行すると完了(COMPLETED)していました。

{
    "id": "9408553428",
    "sequenceStoreId": "7280775986",
    "destination": "s3://omics-work/",
    "status": "COMPLETED",
    "statusMessage": "The job completed successfully.",
    "creationTime": "2023-10-17T06:40:11.291000+00:00",
    "completionTime": "2023-10-17T06:41:21.213000+00:00",
    "readSets": [
        {
            "id": "3692807290",
            "status": "FINISHED",
            "statusMessage": "The source job has completed successfully."
        }
    ]
}

エクスポートジョブの実行と、実行確認は以上です。

ファイルの確認

出力先に指定した S3 バケットを確認します。ジョブ ID のディレクトリが切られています。

インポートジョブで取り込んだときに指定したソースの番号(source1)のディレクトリ配下に保存していたシーケンスストアファイルを確認できました。

おわりに

久々にシーケンスストアストアからファイルを取り出そうとしたら引数の指定に戸惑ったので書き残しました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.